﻿public struct LongArray
{
    public long[] __values;
    public int __start;
    public int __end;
    public int __length;
    public int Count
    {
        get
        {
            return __length;
        }
    }
    public int Length
    {
        get
        {
            return __length;
        }
    }
    public long this[int i]
    {
        get
        {
            return __values[__start + i];
        }
    }
}

public static class LongArrayHelper
{
    public static int key(this long v)
    {
        return (int)(v & 0xFFFFFFFF);
    }

    public static int value(this long v)
    {
        return (int)((v >> 32));
    }
}